package kotlin01


fun main() {
    //非空安全
//name=null  //会报错 变量不能为null
    val name: String = "张三"

//可空类型
// 如果想要变量为null 需要在类型上加 ？
    val age: Int? = null

//安全调用操作符 ?. 在调用属性和方法是 避免出现null引发的异常情况

//val length = name?.length  // 如果 name 为 null，length 也会返回 null

//Elvis操作符 ？: 可空类型操作符号 当表达式的值为null时 可以通过Elvis 操作符号？. 给赋值 避免出现nullPointerException
    val length = name?.length ?: 10

    println(str.lastChar())
}

// 为 String 类扩展一个 "lastChar()" 函数
fun String.lastChar(): Char {
    return this[this.length - 1]
}

val str = "Hello"
